Content conversion tracking based on location data

ABSTRACT

Systems, methods and computer-readable medium are provided for improving location determination of mobile devices and using the location information obtained via such improved methods to track content conversion. In one aspect, a computer-implemented method includes receiving a request from a third party to track at least one content; determining a reference point for at least one tracking device; activating at least one sensor on-board the at least one tracking device, the at least one tracking device determining displacement information of the at least one tracking device based on the reference point and data collected by the at least one sensor; receiving the displacement information from the at least one tracking device; identifying locations visited by the at least one tracking device based on the displacement information; and determining a content conversion rate for the at least one content based on the locations visited by the at least one tracking device.

This application claims priority to U.S. application Ser. No.16/139,546, filed on Sep. 24, 2018, which claims priority to U.S.Provisional Application 62/666,416, filed on May 3, 2018 and U.S.Provisional Application 62/666,451, filed on May 3, 2018, the entirecontent of both of which are incorporated herein by reference.

TECHNICAL FIELD

The present technology pertains to systems and methods for improvinglocation determination of tracking devices for purposes of trackingcontent conversion, and more specifically pertains to using on-boardsensor data of the tracking device in addition to satellite signals totrack content conversion rates.

BACKGROUND

Content conversion is a concept used by various content providers tomeasure effectiveness of content provided to users and consumers. Forexample, many content providers measure the effectiveness of contentthey provide to consumers (e.g., via their electronic device) bydetermining a rate at which a given content (e.g., an advertisement)resulted in the targeted user visiting a merchant's store, purchasing aproduct, etc.

One effective method of determining such rates can be based on trackingmovement and locations of a user's electronic device. Therefore,improvements in location determination for mobile devices can directlyaffect measurement of effectiveness of contents provided by contentproviders to such mobile devices.

Global Positioning Systems (GPS) can provide a relatively accuratelocation information for GPS enabled mobile devices. However, there aremany geographical areas in which a tracking device may not be able toobtain accurate GPS signals due to the existence of many structures andbuildings in the surrounding areas of the tracking device (e.g., in adowntown area, under a bridge, in a secure building, in a mall, etc.).This can adversely affect the reading provided by the tracking device toa server. Furthermore, the accuracy of GPS signals may not be sufficientto distinguish relatively small movement of mobile devices within agiven structure (e.g., from one store to an adjacent one in a shoppingmall).

SUMMARY

Example embodiments are provided for improving location determination ofmobile devices associated with users and using the location informationobtained via such improved methods to track content conversion.

In one aspect, a computer-implemented method includes receiving arequest from a third party to track at least one content; determining areference point for at least one tracking device; activating at leastone sensor on-board the at least one tracking device, the at least onetracking device determining displacement information of the at least onetracking device based on the reference point and data collected by theat least one sensor; receiving the displacement information from the atleast one tracking device; identifying locations visited by the at leastone tracking device based on the displacement information; anddetermining a content conversion rate for the at least one content basedon the locations visited by the at least one tracking device.

In one aspect, a server includes memory having computer-readableinstructions stored therein; and one or more processors. The one or moreprocessors are configured to execute the computer-readable instructionsto determine a reference point for at least one tracking device; activeat least one sensor on-board the at least one tracking device, the atleast one tracking device determining displacement information of the atleast one tracking device based on the reference point and datacollected by the at least one sensor; receive the displacementinformation from the at least one tracking device; identify locationsvisited by the at least one tracking device based on the displacementinformation; and determine a content conversion rate for at least onecontent based on the locations visited by the at least one trackingdevice.

In one aspect, one or more non-transitory computer-readable medium havecomputer-readable instructions stored thereon, which when executed byone or more processors, cause the one or more processors to determine areference point for at least one tracking device; active at least onesensor on-board the at least one tracking device, the at least onetracking device determining displacement information of the at least onetracking device based on the reference point and data collected by theat least one sensor; receive the displacement information from the atleast one tracking device; identify locations visited by the at leastone tracking device based on the displacement information; and determinea content conversion rate for at least one content based on thelocations visited by the at least one tracking device.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-recited and other advantages and features of the presenttechnology will become apparent by reference to specific implementationsillustrated in the appended drawings. A person of ordinary skill in theart will understand that these drawings only show some examples of thepresent technology and would not limit the scope of the presenttechnology to these examples. Furthermore, the skilled artisan willappreciate the principles of the present technology as described andexplained with additional specificity and detail through the use of theaccompanying drawings in which:

FIG. 1 shows an example system in accordance with one aspect of thepresent disclosure;

FIG. 2 shows an example system in accordance with one aspect of thepresent disclosure;

FIG. 3 is a method for creating a destination specific model inaccordance with one aspect of the present disclosure;

FIG. 4 is an example method of using on-board sensor data for contentconversion tracking, in accordance with one aspect of the presentdisclosure; and

FIG. 5 illustrates components of a system for implementing the presenttechnologies, in accordance one aspect of the present disclosure.

DETAILED DESCRIPTION

Various examples of the present technology are discussed in detailbelow. While specific implementations are discussed, it should beunderstood that this is done for illustration purposes only. A personskilled in the relevant art will recognize that other components andconfigurations may be used without parting from the spirit and scope ofthe present technology.

The disclosed technology addresses the need in the art to obtainaccurate readings of a location of a tracking device using GPS and/orsensor data. This improved location determination technique can in turnimprove content conversion tracking, as will be described below.

The disclosure begins with a description of several example systems inwhich the concepts described herein can be implemented.

FIG. 1 illustrates an example system in accordance with one aspect ofthe present disclosure. As illustrated in FIG. 1, system 100 includes auser 102 associated with a tracking device 104 (user device 104 orcustomer device 104). While not shown in FIG. 1, user 102 and trackingdevice 104 can be associated with a moving object including, but notlimited to, a car, a bus, a bike, a public transportation vehicle, etc.The tracking device 104 can be any known or to be developed electronicdevice capable of tracking a movement of the user 102 (and theassociated moving object) and communication the same with a server 112over a wired and/or wireless communication platform such as over acellular network or a WiFi connection. Examples of tracking device 104include, but are not limited to, a cellular phone, a personal digitalassistant (PDA), a laptop, a tablet, a wristband tracking object, etc.In one example, tracking device 104 has location service 105. Locationservice 105 can be any known or to be developed built-in sensor, deviceand/or location determining component such as a global positioningsystem (GPS) device capable of recording geographical coordinates (e.g.,latitude and longitude) of tracking device 104 at any given point intime.

While not shown in FIG. 1, tracking device 104, server 112 and any othercomponent of system 100 have other components for enabling communicationwith other components such as transceivers.

The system 100 further includes a destination 106. Destination 106 canbe a target location that is to receive arrival alerts from server 112informing an operator thereof of the timing of user 102's arrival atdestination 106. For example, destination 106 can be a brick-and-mortarstore, from which user 102 has ordered item(s) for purchase and is enroute to pick up the order. Other examples of destination 106 include,but are not limited to, a restaurant, a department store, other types ofservice providers such as dry cleaning services, a library, etc.Therefore, it is important for server 112 to provide an arrival alert todestination 106 at a threshold time ahead of the arrival of user 102(e.g., 8 minutes prior to user's arrival at destination 106) to ensurethat the ordered item(s) is/are ready when user 102 arrives atdestination 106. Therefore, the arrival alert needs to be as accurate aspossible to avoid or reduce inconveniences (e.g., waiting for theordered item(s) to be prepared for a period of time after arrival)experienced by user 102 and/or an operator at destination 106.

Destination 106 can have an operator 108 associated therewith such as anemployee. Furthermore, destination 106 can have a computing device 110with which operator 108 interacts to receive arrival alerts, send andreceive identifying information to server 112 and/or track device 104,confirm/cancel/adjust orders, etc. Computing device 110 can be any knownor to be developed device that is used by destination 106 and is capableof communicating with server 112 over a wired and/or wireless connectionsuch as a WiFi connection. Examples of computing device 110 include, butare not limited to, a tablet, a stationary computer device, a mobiledevice, any other known or to be developed Point of Sale (POS) devices,etc.

System 100 also includes server 112. Server 112 can have one or moreprocessors such as processor 114 capable of implementing one or moresets of computer-readable instructions stored in one or more memoriessuch as memory 116. Execution of any one or more of these sets ofinstructions enable server 112 to implement functionalities of methodsdescribed below with reference to FIGS. 3-5. These functionalitiesinclude, but are not limited to, building destination specific modelsusing machine learning, which can then be used to provide arrivalprediction services, determining smart signaling for location receivinglocation updates, etc.

As shown in FIG. 1, server 112 can also have database 118 (can also bereferred to as past trips database 118). Data stored in database 118, aswill be described below, will be used by machine learning algorithmsimplemented by server 112 to build destination specific models andperform arrival prediction services.

In one example, server 112 can provide subscription or on-demandservices for destinations, users and third party platforms such asdestination 106, user 102 and third party platform 122 to use servicesprovided by server 112, as will be described below.

System 100 can also include routing engine 120. Routing engine 120 canbe any conventional routing engine such as those commonly associatedwith mapping applications. Such routing engines may take into accountdistance to a destination and speed limits and in some cases currenttraffic, weather and time of day conditions in providing preliminaryarrival times to server 112, which will be used by server 112 and logicsimplemented thereon to refine, revise and provide arrival alerts todestination 106. Furthermore, routing engine 120 may or may not accountfor other location specific factors such as most likely routes to thedestination, likely stops along the way and any other learned factorsfor generating destination specific models for destinations at server112.

Server 112 and routine engine 120 can be co-located physically or beconfigured to communicate over wired and/or wireless networks.Furthermore, each identified component of system 100 can communicatewith other components of system 100 and/or any other external componentusing currently known or to be developed cellular and/or wirelesscommunication technologies and platforms.

System 100 can also include a third party platform 122. Third partyplatform 122 can communicate with server 112 via any known or to bedeveloped wired and/or wireless network. Third party platform 122 can beany known or to be developed content provider (e.g., a merchant, ane-commerce organization, etc.) that provides products for sale to usersand customers. Third party platform 122, as will be described below, cancommunicate with server 112 to utilize services offered by server 112 indetermining location information of user devices (e.g., tracking device104) and using the same for content conversion tracking. While FIG. 1illustrates a single third party platform 122, the present disclosure isnot limited to just one and may include two or more third partyplatforms 122 utilizing services of server 112, as will be describedbelow.

FIG. 2 illustrates an example system in accordance with one aspect ofthe present disclosure. System 200 of FIG. 2 is the same as system 100of FIG. 1 except that instead of having user 102 travel to destination106 to pick up item(s)/service(s) ordered as shown in FIG. 1, adestination such as destination 106 utilizes a delivery service (e.g.that of a driver) to deliver user 102's order(s) to user 102. Therefore,components of system 200 that have the same numerical reference as thosein FIG. 1 will not be further described for sake of brevity.

In system 200 shown in FIG. 2, instead of destination 106 and itscorresponding components, a driver 206 having an associated trackingdevice 208 is illustrated. In the context of FIG. 2, driver 206 andassociated tracking device 208 is moving toward user 102 (similar touser 102 and tracking device 104 in FIG. 1) while user 102 is stationary(similar to destination 106 in FIG. 1). Accordingly, in the context ofFIG. 2, an arrival alert is provided to user 102 informing user 102 ofarrival of driver 206. Therefore, various types of calculations forlocation determination as described in this application are performedfor determining location of tracking device 208 and estimating itsarrival at user 102.

Driver 206 and tracking device 208 can be associated with a movingobject such as a vehicle operated by driver 206. Tracking device 208 canbe any known or to be developed electronic device capable of tracking amovement of the driver 206 (and the associated moving object) andcommunicate the same with server 112 over a wired and/or wirelesscommunication platform such as over a cellular network or a WiFiconnection. Examples of tracking device 208 include, but are not limitedto, a cellular phone, a personal digital assistant (PDA), a laptop, atablet, a wristband tracking object, etc. Location service 210 oftracking device 208 can be the same as location service 105 of trackingdevice 104 (identified as customer device 104 in FIG. 2) described abovewith reference to FIG. 1.

While in FIGS. 1 and 2 various components are illustrated and described,inventive concepts are not limited thereto. For example, the number ofusers, devices, destinations, servers, third party platform(S) etc., arenot limited to those described and can be more or less. Furthermore,both systems 100 and 200 can have additional components, architectureand/or functionalities associated therewith that are ordinary and/ornecessary for proper operations thereof and thus are within the scope ofthe present disclosure.

Furthermore, while FIGS. 1 and 2 are two examples of systems in whichthe concepts described below can be implemented, the present disclosureis not limited thereto. For example, a system in which the presentconcepts can be implemented need to necessarily involve a trackingdevice or a driver device traveling to a destination or to a customerdevice but can simply be a server such as server 112 tracking a movingobject such as tracking device 104, driver device 208, etc.

As briefly mentioned above, server 112 is tasked with tracking a movingobject associated with user 102. Information regarding a tracked objectmay be utilized for various purposes including, but not limited to,content conversion tracking, providing arrival alerts to an intendeddestination for an impending arrival of the moving object at theintended destination (e.g., in order to provide an alert to destination106 at a threshold time ahead of user 102's arrival at destination 106,so that operator 108 at destination 106 can prepare and ready order(s)for user 102 to pick up when he or she arrives at destination 106), etc.

Server 112 implements various techniques to improve the accuracy ofdetermining a location of a moving object such as tracking device(customer device) 104. For example, server 112 applies machine learningto various statistical data to create destination specific model(s) fordestination 106. Various statistic data can include, but is not limitedto, past completed trips of users to destination 106, past completedtrips of user 102, traffic conditions, modes of transportation, types ofmoving objects associated with user 102 (and/or driver 206 in FIG. 2),weather conditions, times of days, events taking place en route todestination 106 or at destination 106, speed of the moving object, anyconstruction, road closures and improvement, historical stops made byuser 102 on such route and/or purchases made en route, etc. Thestatistical data can be stored in database 118.

For example, a particular brick-and-mortar store maybe located in adowntown area where traffic conditions vary greatly depending on time ofday. Server 112 takes this information into consideration to build adestination specific model for the brick-and-mortar store located in thedowntown area. Accordingly, in determining location information of user102 as user 102 travels to the downtown location of the brick-and-mortarstore and depending on the time of day, server 112 can augment itsprediction and improve the determination of location information of user102 using the corresponding destination specific model and/or otherhistorical data in database 118 corresponding to visits/stops of user102 en route. For example, user 102 may typically stop at a particulargas station or a particular convenient store whenever user 102 visitsthe brick-and-mortar store. Such information is also taken intoconsideration by server 112 in determining location information of user102.

FIG. 3 illustrates an example method of creating destination specificmodels in accordance with one aspect of the present disclosure. FIG. 3will be described with reference to FIG. 1. However, the conceptsdescribed are equally applicable to the system of FIG. 2 as well. Themethod illustrated in FIG. 3 begins after one or more notifications havebeen provided to destination computing device 110 regarding an arrivalprediction of user 102 at destination 106 to pick up order(s) (or one ormore trips to destination 106 have been completed). Server 112 can storea collection of data in database 118. The data can be any one or more ofstatistical data examples provided above. In addition, server 112 canstore information regarding the quality of past notifications and anidentifier of the past notifications. For example, every time server 112has provided an arrival alert to destination 106 indicating that user102 will arrive in 8 minutes, server 112 compares this estimated arrivaltime to an actual time it took user 102 to arrive at destination 106.For example, while server 112 predicted, at time T0, that user 102 willarrive at destination 106 in 8 minutes, in reality, it may take user 1026 minutes from T0 to arrive at destination 106. This indicates aprediction error of 25%. Server 112 stores this prediction error indatabase 118. During the next round of prediction and in providing thearrival alert, server 112 adjusts its prediction by 25% before providingthe arrival alert (e.g., in the particular example described above,instead of providing the arrival alert at T0, server 112 now providesthe arrival alert at T1 which is 2 minutes earlier than T0).

At S302, server 112 queries computing device 110 of destination 106 forrating a quality of a recently provided arrival alert. Operator 108operating destination computing device 110 can respond to the query.Upon receiving the response, server 112 stores the rating at S306. Inaddition to, simultaneous with or instead of querying computing device110 for rating, at S304, server 112 can calculate a rating or predictionerror regarding the arrival alert, as described above. Similarly, thecalculated rating is received at S306.

At S308, server 112 can record the received rating(s), per S302 andS304, in database 118 in association with an identification (ID) of thenotification. The ID can be an identification of a particulartransaction between user 102 and a merchant at destination 106, can bean identification associated with user 102, can be an identificationassociated with destination 106 or any combination thereof.

Server 112 can also store in database 118, information regarding a routetaken by user 102 in connection with a recently completed trip todestination 106, and any other data pertinent to the trip that resultedin the notification. The route taken by user 102 can be learned fromdata reported by location service 105 to server 112 while user 102 andassociated computing device 104 were traveling to destination 106. Insome examples, from this route information, server 112 can determine ifuser 102 made any stops and/or any purchases while en route todestination 106. Server 112 can also record a time of day, day of week,and date associated with the notification in database 118. Server 112can aggregate the above data for trips by many users.

At S310, server 112 applies machine learning algorithm(s) to thehistorical data specific to destination 106 stored in database 118. AtS312, server 112 generates destination specific model for destination106 based on the machine learning algorithm(s) applied to stored data atS310. In one example, destination specific model may be created ortrained by analyzing factors associated with notifications that wereconsidered of good quality and factors associated with notificationsthat were considered of poor quality. Since the destination specificmodel is generated through machine learning, some dimensions ofdestination specific model may not have any semantic meaning while somedimensions may have a semantic significance. For example, thosedimensions having a semantic meaning can include likelihood that a userwill make other stops along the route, likelihood that a user willencounter traffic along the route, the most likely routes to thedestination, etc.

In some examples, machine learning may initially be trained on all datain database 118 regardless of destination to result in a locationnon-specific model. In such examples, destination specific model may bethe result of tuning the location non-specific model for factorsrelevant to the specific destination 106.

As can be seen from the above description, server 112 relies on locationupdates received from tracking device 104 in order to determine currentlocation of user 102.

The location updates received from tracking device 104 can be GPSsignals (satellite signals) readings obtained by a GPS tracking deviceembedded in tracking device 104.

Server 112, by relying on data obtained from external sources such as apublic database, may have a record of precise geographical coordinatesof any given geographical location (latitude and longitude values). Suchprecise geographical coordinates may be referred to as registeredgeographical coordinates or simply registered coordinates of a givengeographical location. Therefore, every time server 112 receives a GPSsignal reading from tracking devices, server 112 can compare the GPSreading received, which includes latitude and longitude values of thecorresponding geographical location, with the registered geographicalcoordinates of the same location. If the difference between any two ofthe received and registered latitude and longitude values two are withina threshold (e.g., less than 5 meters, 10 meters, within a margin oferror of less than 5%, 10%, etc.), the server 112 would then considerthe received coordinates as “precise”.

Based on the above and over time, server 112 can build up a database ofgeographical areas in which average error of received GPS signalsreadings from tracking devices are not “precise”. These geographicalareas may be stored at server 112 and may be referred to as high errorzones. Thereafter, whenever a tracking device is located within a higherror zone, and as will be discussed below, any sparse “precise” GPSreadings received from said tracking device may be used as a referencepoint after which determination of movement and hence the location ofthe tracking device may be augmented using on-board sensors anddisplacement/location calculations (information) of the tracking device.This can improve the location updates of the tracking device received atthe server 112.

While using on-board sensor data can accommodate for inaccuracies in GPSsignal readings when tracking device 104 is located in a high errorzone, even when such GPS signal readings are “precise,” reliance on GPSsignal readings alone may be insufficient to track and record relativelysmall movements of tracking device 104. For example, GPS signal readingsmay be insufficient to differentiate between a tracking device'spresence in two adjacent stores or two stores located on top of eachother on different levels of a mall, etc. This deficiency can translateinto missing user 102's presence in one store (for which anadvertisement was pushed/provided to tracking device 104) andinadvertently determining user 102's presence in an adjacent store (forwhich no advertisement was pushed/provided to tracking device 104),which can in turn result in inaccurate determination of contentconversion rates for the advertisement pushed/provided to trackingdevice 104.

In one or more example embodiments, a server provider associated withsystem 100 or system 200 of FIGS. 1 and 2 (e.g., a service provideroperating server 112) can receive a request or can enter into anengagement with a third party platform (third party content provider).For example, third party platform 122 of FIG. 1 can be one that based onor more criteria, sends advertisements and/or promotions, coupons, etc.(all of which are non-limiting examples of content) to one or moreparticular devices or in general to devices in a given geographicallocation. Over a certain period of time, third party platform 122 wantsto obtain information on how effective the sent content has/have been.In other words, third party platform 122 wants to understand if, over aperiod of hour(s), day(s), week(s), etc., one or more user devices towhich the advertisement(s) or content have been sent, have visitedmerchant locations corresponding to the send content or not. Dependingon the number of visits, purchases, etc., a rate of conversion of thecontent can be determined.

As will be described below, using on-board calculations of userdisplacement based on on-board sensor data, in addition to GPS signalbased location data can result in very precise tracking of the trackingdevice 104, which can be used to determine which and when targetmerchants/products have been visited, purchased, etc., by user 102.Examples of on-board sensors used in devices such as tracking device 104and/or driver device 208 include, but are not limited to, a gyroscope,an accelerometer, a magnetometer, etc.

FIG. 4 is an example method of using on-board sensor data for contentconversion tracking, in accordance with one aspect of the presentdisclosure. FIG. 4 will be described from the perspective of server 112and with reference to FIGS. 1-3. However, it is understood by thoseskill in the art that one or more processors such as processor 114 ofserver 112 executes computer readable instructions stored on or morememories such as memory 116 to implement the functionalities describedbelow.

Furthermore, an assumption is made that service provider associated withserver 112, prior to implementing the process of FIG. 4, has obtainedconsent from user 102 to track movement of the corresponding trackingdevice 104 (e.g., before, during and after the user 102 has completedand picked up an order from destination 106 using services of theservice provider).

At S400, server 112 receives a request from a third party contentplatform (or simply a third party platform or content provider such asthird party platform 122 of FIG. 1) to track content conversion rate forone or more specific content pushed/served to one or more trackingdevices such as tracking device 104. Along with the request, server 112can also receive from the third party platform a period of time(tracking period) over which the requested content conversion rate is tobe determined as well as one or more identification informationincluding, but not limited to, identification information of thepushed/served content as well as identification information of trackingdevices to which the content were pushed. Hereinafter and for purposesof describing example embodiments, it is assumed that a single contentwith identification information AD 1 (which may be an advertisement thatidentifies the category and/or specific merchant associated with theadvertisement) is pushed to tracking device 104 by third partyadvertisement platform 122 before, simultaneous with or after sendingthe request to server 112 at S400. Furthermore, it is assumed that thetracking period is 36 hours. These assumptions are exemplary and onlyprovided for ease of discussion and are non-limiting. Alternatively, thetracking period can be, for example, a certain number of visits tomerchant location(s), a completion of a purchase at the merchantlocation, etc.

At S402, server 112 implements two functions. First, server 112identifies a “latest reference point” of at least one device (accordingto identification information of tracking devices received from thirdparty platform 122). The “latest reference point” can be the most recent“precise” location of tracking device 104 according to received GPSsignals, as described above. In another example, “latest referencepoint” can be the most recent (whether “precise” or not) GPS signalreading by tracking device 104. Second, server 112 sends one or morecommands to tracking device 104 to turn on (activate) its on-boardsensors to be used for tracking movement of the tracking device 104.Examples of such on-board sensors include, but are not limited to, agyroscope, an accelerometer, a magnetometer, etc. In response to thecommands, tracking device 104 enables said sensors and can collectmovement and location data to perform calculations on-board in order todetermine the amount of displacement of tracking device 104 sinceactivation of the sensors. These calculations can be done according toany known or to be developed method.

In one example and in response to receiving the command at S402,tracking device 104 initiates collection of movement and displacementinformation of tracking device 104 using on-board sensors including, butnot limited to, tracking device's accelerometer, gyroscope,magnetometer, etc. As tracking device 104 collects such movement anddisplacement information, it also runs algorithms stored thereon tocalculate displacement and movement of the tracking device 104 based onthe collected data. This can be done according to any known or to bedeveloped method.

In one aspect and for purposes of battery conservation, tracking device104 does not send, on a continuous basis, the calculated displacementand movement information back to server 112. Instead, all datacollections and subsequent calculations (displacement information)performed on-board the tracking device 104 can be stored thereon untilthe tracking device 104 can establish a WiFi connection to the Internetfor conveying the stored information back to server 112.

In one example, AD 1 can be an advertisement for a convenient storelocated inside a shopping mall. When tracking device 104 arrives in theshopping mall's parking lot, the latest reference point is determined byserver 112 using the “precise” GPS signal reading received from trackingdevice 104.

Using this latest reference point, server 112 sends commands to thetracking device 104 to turn on on-board sensors. Then tracking device104 starts tracking movement and displacement thereof using datacollected by on-board sensors. During this time and as the user entersthe shopping mall (where GPS signal reception may be sub-optimal),tracking device 104 tracks the movement of user 102 and calculates andstores visited locations and corresponding coordinates.

User 102 may then exit the shopping mall and during the next day visitanother branch of the same convenient store 10 miles away (still withinthe example 36 hour tracking period). The tracking device using GPSsignal readings and on-board sensors also records this second visit tothe other branch of the same convenient store.

During this time, tracking device 104 does not send the displacement andmovement calculations based on sensor data to server 112 unless a WiFiconnection is established with a nearby access point.

In another example embodiment and during the tracking period, trackingdevice 104 may detect that tracking device 104 is stationary, in a sleepmode, etc. for a threshold period of time. Upon this detection, trackingdevice 104 can shut off the on-board sensors until movement of trackingdevice 104 is detected again, at which point tracking device 104 resumescollection location data using on-board sensors and performs on-boardmovement calculations based on the collected data. This provides furtherpower conservation advantages for tracking device 104.

When the tracking device 104 establishes a connection (e.g., a WiFiconnection or any other known or to be developed radio communicationscheme for establishing a connection to the internet and server 112), atS404, server 112 receives updated calculation of movement anddisplacement (displacement information) of tracking device 104 (sincelast time such movements, calculations may have been reported). Thereported data may include, among other information, identificationinformation of all merchants and locations stored during such timeperiod as well as geographical coordinates of the visited merchants andlocations.

At S406, server 112 determines a rate of content conversion for AD 1(performs content conversion tracking). In doing so and according to oneexample embodiment, server 112 determines if the identificationinformation of one or more of the merchants/locations visited bytracking device 104 and reported at S404 matches the identificationinformation for AD 1.

Furthermore and upon determining a match, server 112 may also determinea frequency of visits made to locations/stores corresponding to AD 1over the course of the tracking period. This may be referred to ascontent conversion rate or in this particular example AD 1 conversion.For example, a single visit may be indicative of a 100% contentconversion rate, 5 visits may be indicative of a 500% content conversionrate, etc.

In yet another example, server 112 may retrieve destination specificmodels for merchants associated with AD 1 and use the models to updatethe displacement information received at S404. For example, destination106 (assuming destination 106 is associated with AD 1) may have acorresponding destination specific model stored in database 118, whichmay indicate traffic conditions around destination 106 at a particulartime of day. Furthermore, the displacement information received at S404or at least a portion thereof may be over the same time of day.Therefore, server 112 may take into consideration the traffic conditionsaround destination 106 to accommodate for the relatively slower trafficmovement and thus update the displacement information to be moreaccurate in reflecting exact movement of tracking device 104 en route todestination 106.

At S408, server 112 provides the content conversion rate and any otherpertinent information back to third party platform 122.

In one example, the service provider associated with systems 100 and 200may act as a content provider to generate and push content to userdevices/tracking devices. In such case, S400 and S408 need not beperformed as all steps will then be performed at server 112 includingproviding content to user devices.

FIG. 5 shows an example of a system for implementing the presenttechnology in accordance one aspect of the present disclosure. FIG. 5illustrates computing system 500 in which the components of the systemare in communication with each other using connection 505. Connection505 can be a physical connection via a bus, or a direct connection intoprocessor 510, such as in a chipset architecture. Connection 505 canalso be a virtual connection, networked connection, or logicalconnection.

In some examples, computing system 500 is a distributed system in whichthe functions described in this disclosure can be distributed within adatacenter, multiple datacenters, a peer network, etc. In someembodiments, one or more of the described system components representsmany such components each performing some or all of the function forwhich the component is described. In some embodiments, the componentscan be physical or virtual devices.

Example system 500 includes at least one processing unit (CPU orprocessor) 510 and connection 505 that couples various system componentsincluding system memory 515, such as read only memory (ROM) and randomaccess memory (RAM) to processor 510. Computing system 500 can include acache 512 of high-speed memory connected directly with, in closeproximity to, or integrated as part of processor 510.

Processor 510 can include any general purpose processor and a hardwareservice or software service, such as services 532, 534, and 536 storedin storage device 530, configured to control processor 510 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. Processor 510 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

To enable user interaction, computing system 500 includes an inputdevice 545, which can represent any number of input mechanisms, such asa microphone for speech, a touch-sensitive screen for gesture orgraphical input, keyboard, mouse, motion input, speech, etc. Computingsystem 500 can also include output device 535, which can be one or moreof a number of output mechanisms known to those of skill in the art. Insome instances, multimodal systems can enable a user to provide multipletypes of input/output to communicate with computing system 500.Computing system 500 can include communications interface 540, which cangenerally govern and manage the user input and system output. There isno restriction on operating on any particular hardware arrangement andtherefore the basic features here may easily be substituted for improvedhardware or firmware arrangements as they are developed.

Storage device 530 can be a non-volatile memory device and can be a harddisk or other types of computer readable media which can store data thatare accessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,random access memories (RAMs), read only memory (ROM), and/or somecombination of these devices.

The storage device 530 can include software services, servers, services,etc., that when the code that defines such software is executed by theprocessor 510, it causes the system to perform a function. In someembodiments, a hardware service that performs a particular function caninclude the software component stored in a computer-readable medium inconnection with the necessary hardware components, such as processor510, connection 505, output device 535, etc., to carry out the function.

For clarity of explanation, in some instances the present technology maybe presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

Any of the steps, operations, functions, or processes described hereinmay be performed or implemented by a combination of hardware andsoftware services or services, alone or in combination with otherdevices. In some embodiments, a service can be software that resides inmemory of a client device and/or one or more servers of a contentmanagement system and perform one or more functions when a processorexecutes the software associated with the service. In some embodiments,a service is a program, or a collection of programs that carry out aspecific function. In some embodiments, a service can be considered aserver. The memory can be a non-transitory computer-readable medium.

In some embodiments the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The computer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, solid state memory devices, flash memory, USB devices providedwith non-volatile memory, networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include servers,laptops, smart phones, small form factor personal computers, personaldigital assistants, and so on. Functionality described herein also canbe embodied in peripherals or add-in cards. Such functionality can alsobe implemented on a circuit board among different chips or differentprocesses executing in a single device, by way of further example.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

Although a variety of examples and other information was used to explainaspects within the scope of the appended claims, no limitation of theclaims should be implied based on particular features or arrangements insuch examples, as one of ordinary skill would be able to use theseexamples to derive a wide variety of implementations. Further andalthough some subject matter may have been described in languagespecific to examples of structural features and/or method steps, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to these described features or acts. Forexample, such functionality can be distributed differently or performedin components other than those identified herein. Rather, the describedfeatures and steps are disclosed as examples of components of systemsand methods within the scope of the appended claims.

1. (canceled)
 2. A method comprising: receiving a command fordetermining displacement information of a tracking device for a periodof time; determining a reference point for the tracking device;activating at least one sensor on-board the tracking device to collectdata on movement of the tracking device; locally determining thedisplacement information of the tracking device over the period of timebased on the reference point and the data collected by the at least onesensor; storing, at the tracking device, a record of the displacementinformation of the tracking device; and transmitting, to a server, therecord of the displacement information upon establishing a communicationsession with a nearby access point.
 3. The method of claim 2, whereinthe at least one sensor is one or more of an accelerometer, a gyroscopeor a magnetometer of the tracking device.
 4. The method of claim 2,wherein the communication session with the nearby access point is aWi-Fi connection.
 5. The method of claim 2, wherein the recordidentifies at least one location visited by the tracking device.
 6. Themethod of claim 5, wherein the server determines a content conversionrate for at least one content based on the at least one location visitedby the tracking device.
 7. The method of claim 6, wherein the serversends the content conversion rate to a third party.
 8. The method ofclaim 2, wherein the command for determining the displacementinformation is received from the server.
 9. A tracking devicecomprising: memory having computer-readable instructions stored therein;and one or more processors configured to execute the computer-readableinstructions to: receive a command for determining displacementinformation of a tracking device for a period of time; determine areference point for the tracking device; activate at least one sensoron-board the tracking device to collect data on movement of the trackingdevice; locally determine the displacement information of the trackingdevice over the period of time based on the reference point and the datacollected by the at least one sensor; store, at the tracking device, arecord of the displacement information of the tracking device; andtransmit, to a server, the record of the displacement information uponestablishing a communication session with a nearby access point.
 10. Thetracking device of claim 9, wherein the at least one sensor is one ormore of an accelerometer, a gyroscope or a magnetometer of the trackingdevice.
 11. The tracking device of claim 9, wherein the communicationsession with the nearby access point is a Wi-Fi connection.
 12. Thetracking device of claim 9, wherein the record identifies at least onelocation visited by the tracking device.
 13. The tracking device ofclaim 12, wherein the server determines a content conversion rate for atleast one content based on the at least one location visited by thetracking device.
 14. The tracking device of claim 13, wherein the serveris configured to send the content conversion rate to a third party. 15.The tracking device of claim 9, wherein the command for determining thedisplacement information is received from the server.
 16. One or morenon-transitory computer-readable media comprising computer-readableinstructions, which when executed by one or more processors of atracking device, cause the tracking device to: receive a command fordetermining displacement information of a tracking device for a periodof time; determine a reference point for the tracking device; activateat least one sensor on-board the tracking device to collect data onmovement of the tracking device; locally determine the displacementinformation of the tracking device over the period of time based on thereference point and the data collected by the at least one sensor;store, at the tracking device, a record of the displacement informationof the tracking device; and transmit, to a server, the record of thedisplacement information upon establishing a communication session witha nearby access point.
 17. The one or more non-transitorycomputer-readable media of claim 16, wherein the at least one sensor isone or more of an accelerometer, a gyroscope or a magnetometer of thetracking device.
 18. The one or more non-transitory computer-readablemedia of claim 16, wherein the communication session with the nearbyaccess point is a Wi-Fi connection.
 19. The one or more non-transitorycomputer-readable media of claim 16, wherein the record identifies atleast one location visited by the tracking device.
 20. The one or morenon-transitory computer-readable media of claim 19, wherein the serverdetermines a content conversion rate for at least one content based onthe at least one location visited by the tracking device.
 21. The one ormore non-transitory computer-readable media of claim 20, wherein thecontent conversion rate indicates a number of times a corresponding userof the tracking device visited a location of at least one merchantassociated with the at least one content.